#pragma once
typedef struct _Node
{
	STUDENT Info;
	struct _Node* Next;

}NODE, * PNODE;

typedef struct _linklist
{
	NODE* Head;
	NODE* Tail;
	int NumOfNodes;
}LINKLIST, * PLINKLIST;


void linklist_data(NODE* pnew);
bool linklist_Create(LINKLIST* plinklist);
NODE* linklist_CreateNode();
bool linklist_Insert(LINKLIST* plinklist, NODE* pnew, int Pos);
bool linklist_Delete(LINKLIST* plinklist, int Pos);
void linklist_Display(LINKLIST* plinklist);
bool linklist_InsertByInfo(LINKLIST* plinklist, char* name, char gender, int age, int Pos);
void linklist_Free(LINKLIST* plinklist);
bool linklist_SaveToFile(LINKLIST* plinklist, const char* fn);
bool linklist_LoadFromFile(LINKLIST* plinklist, const char* fn);
void linklist_up(LINKLIST* plinklist);
void linklist_search(LINKLIST* plinklist);
void linklist_change(LINKLIST* plinklist);
